home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / UTIL / merryxmas Vaccine.sit / merryxmas Vaccine / merryxmas Vaccine 3.0 / background_2624.xml next >
Extensible Markup Language  |  1995-08-28  |  24KB  |  176 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
  3. <background>
  4.     <id>2624</id>
  5.     <filler1>0</filler1>
  6.     <bitmap>BMAP_3609.pbm</bitmap>
  7.     <cantDelete> <false /> </cantDelete>
  8.     <showPict> <true /> </showPict>
  9.     <dontSearch> <false /> </dontSearch>
  10.     <link rel="stylesheet" type="text/css" href="stylesheet_3117.css" />
  11.     <part>
  12.         <id>1</id>
  13.         <type>field</type>
  14.         <visible> <true /> </visible>
  15.         <dontWrap> <false /> </dontWrap>
  16.         <dontSearch> <false /> </dontSearch>
  17.         <sharedText> <false /> </sharedText>
  18.         <fixedLineHeight> <false /> </fixedLineHeight>
  19.         <autoTab> <false /> </autoTab>
  20.         <lockText> <true /> </lockText>
  21.         <rect>
  22.             <left>9</left>
  23.             <top>9</top>
  24.             <right>503</right>
  25.             <bottom>229</bottom>
  26.         </rect>
  27.         <style>transparent</style>
  28.         <autoSelect> <false /> </autoSelect>
  29.         <showLines> <false /> </showLines>
  30.         <wideMargins> <true /> </wideMargins>
  31.         <multipleLines> <false /> </multipleLines>
  32.         <reservedFamily> 0 </reservedFamily>
  33.         <titleWidth>0</titleWidth>
  34.         <icon>0</icon>
  35.         <textAlign>left</textAlign>
  36.         <font>Geneva</font>
  37.         <textSize>12</textSize>
  38.         <textStyle>plain</textStyle>
  39.         <textHeight>16</textHeight>
  40.         <name>stacks</name>
  41.         <script></script>
  42.     </part>
  43.     <part>
  44.         <id>2</id>
  45.         <type>button</type>
  46.         <visible> <true /> </visible>
  47.         <reserved5> 0 </reserved5>
  48.         <reserved4> 0 </reserved4>
  49.         <reserved3> 0 </reserved3>
  50.         <reserved2> 0 </reserved2>
  51.         <reserved1> 0 </reserved1>
  52.         <enabled> <true /> </enabled>
  53.         <rect>
  54.             <left>176</left>
  55.             <top>291</top>
  56.             <right>337</right>
  57.             <bottom>312</bottom>
  58.         </rect>
  59.         <style>transparent</style>
  60.         <showName> <true /> </showName>
  61.         <highlight> <false /> </highlight>
  62.         <autoHighlight> <true /> </autoHighlight>
  63.         <sharedHighlight> <false /> </sharedHighlight>
  64.         <family>0</family>
  65.         <titleWidth>0</titleWidth>
  66.         <icon>0</icon>
  67.         <textAlign>center</textAlign>
  68.         <font>Chicago</font>
  69.         <textSize>12</textSize>
  70.         <textStyle>plain</textStyle>
  71.         <name>Disinfect Stacks</name>
  72.         <script>on mouseUpglobal statusColors,lastColor, sweepMode, quarantine, okToCompact, ツャlineNo, currentStack, bytesCompacted, infected, stillInfected, ツャdisinfectedStacks, stillinfectedStacksif statusColors then  -- restore Green if a previous scan was abortedshow window "green"hide window lastColorput "green" into lastColorend ifinitialize  -- clear fields via function in background scripthide btn "Print Report"hide btn "Save as text窶ヲ"put empty into fld "stacks"put "search & destroy" into sweepMode  -- active vs. passive flagput empty into infected  -- list of infected stacksput empty into stillInfected  -- list of remaining infected stacksput zero  into bytesCompacted  -- total bytes saved by compactingAnswer "What would you like to examine?" with ツャ"Stack" or "Folder" or "Volume"put it into targitif targit is "Volume" thenput "Selecting volume to scan..." into fld "status"put VolumePath() into volPath  -- prompt for volume to operate onelse if targit is "Folder" thenanswer "Examine subfolders too?" with ツャ"Cancel" or "No" or "Yes"if it is "Yes" then put "+"   into subfolderif it is "No"  then put empty into subfolderif it is "Cancel" thenput "Procedure cancelled." into fld "status"exit mouseUpend ifput "Selecting folder to scan..." into fld "status"put FolderPath("Select a folder to examine.") into folPathput char 1 to offset(":",folPath) of folPath into volPathelseput "Selecting stack to scan..." into fld "status"put FilePath("STAK","Select a stack to examine.") into stkPathput char 1 to offset(":",stkPath) of stkPath into volPathend ifput empty into fld "status"if volPath is empty then  -- if cancelledput "No selection made. Procedure cancelled." into fld "status"exit mouseUpend ifif VolumeIsLocked(volPath,"noDialog") is true then  -- if disk lockedanswer "窶œ" & char 1 to number of chars of volPath - 1 of volPath ツャ& "窶" && "is locked." & return & "You may scan" ツャ&& "for viruses," & return & "but changes cannot be made." ツャwith "Scan" or "Cancel"  -- provide chance to cancelif it is "Scan" then put "scan only" into sweepMode  -- passive modeelseput "Procedure cancelled." into fld "status"exit mouseUpend ifend ifput "false" into okToCompactput "false" into okToInoculate --(lock)if sweepMode is "search & destroy" thenanswer "Would you like free space to be compacted" ツャ&& "for you while scanning?" with "No" or "Yes"put (it is "Yes") into okToCompactend ifanswer "Would you like to lock the Home stack" ツャ&& "against future infections?" with "No" or "Yes"put (it is "Yes") into okToInoculate --(lock)if statusColors thenshow window "amber"hide window lastColorput "amber" into lastColorend ifif targit is "Volume" thenput "Identifying all stacks on" && volPath into fld "status"put "..." into last char of fld "status"set the cursor to "busy"  -- also known as the 窶彙eachball窶 cursorput GetDir(volPath,"F+","t=STAK","o=p") into fld "stacks" --list stacksput the number of lines of fld "stacks" into stacksFoundelse if targit is "Folder" thenput "Identifying all stacks in" && folPath into fld "status"put "..." into last char of fld "status"set the cursor to "busy"put GetDir(folPath,"F" & subfolder,"t=STAK","o=p") into fld "stacks" --list stacksput the number of lines of fld "stacks" into stacksFoundelseput empty into fld "status"put stkPath into fld "stacks" --list stackput 1 into stacksFoundend if-- GetDir interprets commas as 窶彈44]窶 for some reasonrepeatif fld "stacks" contains "[44]" thenput offset("[44]",fld "stacks") into itput "," into char it to it + 3 of fld "stacks"else exit repeatend repeatif fld "stacks" is empty thenput "No Stacks Found.  Procedure cancelled." into fld "status"if statusColors thenshow window "green"hide window lastColorput "green" into lastColorend ifexit mouseUpelse if stacksFound > 14 thenset style of fld "stacks" to scrollingend ifput "Examining stack" into fld "status"if (stacksFound > 1) then put "s" after fld "status"put ".  So far, so good..." after fld "status"put the userlevel into userlevelHold  -- preserve user level for laterset the userlevel to 5repeat with lineNo = 1 to stacksFound  -- repeat once for each stack foundset the cursor to "busy"put line lineNo of fld "stacks" into currentStackselect after line lineNo of fld "stacks"  -- scroll down if necessaryset the textStyle of line lineNo of fld "stacks" to boldshowProgress (lineNo / stacksFound)  -- advance the progress barif the long name of this stack is ツャ  -- do not check thyself"stack" && quote & currentStack & quote ツャor ((the systemVersion 竕・ 7) and last item of ツャGetFInfo(stackName,"DontResolveAlias") is "true") thenset the textStyle of line lineNo of fld "stacks" to italicnext repeat  -- Bag it. File is a System 7 aliasend ifput script of stack currentStack into quarantine  -- snag scriptscrutinize currentStackend repeatput "false" into inoculated --(locked)if okToInoculate then  -- inoculate (lock) the Home stackput "Locking the Home stack..." into fld "status"put the long name of stack "Home" into currentStackput the length of currentStack into itput char 8 to (it - 1) of currentStack into currentStackput script of stack currentStack into quarantinescrutinize currentStack  -- in case it hasn't been checked yetdo "SetFinderLock" & quote & currentStack & quote & ",true"if the result is empty thenput "true" into inoculatedend ifend ifif statusColors and (stillinfectedStacks < 1) thenshow window "green"hide window lastColorput "green" into lastColorend iflock screenput return & return after fld "stacks"set the textStyle of last char of fld "stacks" to plainset the rect of btn "Bar" to -1,-2,-4,-3put "Operation complete." into fld "status"put "窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 窶「 " ツャ&   "窶「 窶「 窶「 窶「 窶「 窶「 窶「" & return & return after fld "stacks"set the userlevel to userlevelHold  -- restore original user levelif disinfectedStacks + stillinfectedStacks = 0 thenput "Whew!  What a relief." & return & return after fld "stacks"if stacksFound = 1 thenput "The stack was not infected." after fld "stacks"elseput "None of the" && stacksFound && ツャ"stacks checked were infected." after fld "stacks"end ifelse if disinfectedStacks > 0 thenput "The following stacks were infected and" after fld "stacks"set the textStyle of the last line of fld "stacks" to boldput return & "have been successfully disinfected: " after fld "stacks"set the textStyle of the last char of fld "stacks" to plainput return & infected after fld "stacks"end ifif stillinfectedStacks > 0 thenput "The following stacks are infected and could not be disinfected:" ツャafter fld "stacks"set the textStyle of the last line of fld "stacks" to boldset the textStyle of the last char of fld "stacks" to plainif sweepMode is "scan only" thenput "窶 is locked" into last char of volPathput return & "because 窶œ" & volPath before last char of fld "stacks"end ifput stillinfected after fld "stacks"end ifif okToCompact thenset numberFormat to "0"put return & return & bytesCompacted / 1024 ツャ& "K of disk space was recovered by compacting." after fld "stacks"end ifif inoculated then --(locked)put return & return & "The Home stack is now locked." after fld "stacks"end ifif the number of lines of fld "stacks" > 13 thenset style of fld "stacks" to scrollingend ifput return after fld "stacks"select after last line of fld "stacks"show btn "Print Report"show btn "Save as text窶ヲ"play "Lore"end mouseUp</script>
  73.     </part>
  74.     <part>
  75.         <id>9</id>
  76.         <type>button</type>
  77.         <visible> <true /> </visible>
  78.         <reserved5> 0 </reserved5>
  79.         <reserved4> 0 </reserved4>
  80.         <reserved3> 0 </reserved3>
  81.         <reserved2> 0 </reserved2>
  82.         <reserved1> 0 </reserved1>
  83.         <enabled> <true /> </enabled>
  84.         <rect>
  85.             <left>8</left>
  86.             <top>291</top>
  87.             <right>169</right>
  88.             <bottom>312</bottom>
  89.         </rect>
  90.         <style>transparent</style>
  91.         <showName> <true /> </showName>
  92.         <highlight> <false /> </highlight>
  93.         <autoHighlight> <true /> </autoHighlight>
  94.         <sharedHighlight> <false /> </sharedHighlight>
  95.         <family>0</family>
  96.         <titleWidth>0</titleWidth>
  97.         <icon>0</icon>
  98.         <textAlign>center</textAlign>
  99.         <font>Chicago</font>
  100.         <textSize>12</textSize>
  101.         <textStyle>plain</textStyle>
  102.         <name>About This Stack窶ヲ</name>
  103.         <script>on mouseUpvisual effect dissolve to whitevisual effect dissolvego next cdend mouseUp</script>
  104.     </part>
  105.     <part>
  106.         <id>10</id>
  107.         <type>field</type>
  108.         <visible> <true /> </visible>
  109.         <dontWrap> <false /> </dontWrap>
  110.         <dontSearch> <false /> </dontSearch>
  111.         <sharedText> <false /> </sharedText>
  112.         <fixedLineHeight> <false /> </fixedLineHeight>
  113.         <autoTab> <false /> </autoTab>
  114.         <lockText> <true /> </lockText>
  115.         <rect>
  116.             <left>78</left>
  117.             <top>263</top>
  118.             <right>502</right>
  119.             <bottom>283</bottom>
  120.         </rect>
  121.         <style>transparent</style>
  122.         <autoSelect> <false /> </autoSelect>
  123.         <showLines> <false /> </showLines>
  124.         <wideMargins> <false /> </wideMargins>
  125.         <multipleLines> <false /> </multipleLines>
  126.         <reservedFamily> 0 </reservedFamily>
  127.         <titleWidth>0</titleWidth>
  128.         <icon>0</icon>
  129.         <textAlign>left</textAlign>
  130.         <font>Geneva</font>
  131.         <textSize>12</textSize>
  132.         <textStyle>plain</textStyle>
  133.         <textHeight>16</textHeight>
  134.         <name>status</name>
  135.         <script></script>
  136.     </part>
  137.     <part>
  138.         <id>16</id>
  139.         <type>button</type>
  140.         <visible> <true /> </visible>
  141.         <reserved5> 0 </reserved5>
  142.         <reserved4> 0 </reserved4>
  143.         <reserved3> 0 </reserved3>
  144.         <reserved2> 0 </reserved2>
  145.         <reserved1> 0 </reserved1>
  146.         <enabled> <true /> </enabled>
  147.         <rect>
  148.             <left>344</left>
  149.             <top>291</top>
  150.             <right>505</right>
  151.             <bottom>312</bottom>
  152.         </rect>
  153.         <style>transparent</style>
  154.         <showName> <true /> </showName>
  155.         <highlight> <false /> </highlight>
  156.         <autoHighlight> <true /> </autoHighlight>
  157.         <sharedHighlight> <false /> </sharedHighlight>
  158.         <family>0</family>
  159.         <titleWidth>0</titleWidth>
  160.         <icon>0</icon>
  161.         <textAlign>center</textAlign>
  162.         <font>Chicago</font>
  163.         <textSize>12</textSize>
  164.         <textStyle>plain</textStyle>
  165.         <name>Check Application</name>
  166.         <script>on mouseUpglobal statusColors,lastColor, quarantine, lineNo, ツャstillinfectedStacks, infected, stillInfectedif statusColors then  -- restore Green if a previous scan was abortedshow window "green"hide window lastColorput "green" into lastColorend ifinitialize  -- clear fields via function in background scripthide btn "Print Report"hide btn "Save as text窶ヲ"put empty into fld "stacks"put empty into infected  -- list of infected stacksput empty into stillInfected  -- list of remaining infected stacksput zero  into stillinfectedStacks  -- counts stacks still infectedput "Selecting application to scan..." into fld "status"put FilePath("APPL","Select an application to examine.") into stkPathput char 1 to offset(":",stkPath) of stkPath into volPathput empty into fld "status"if volPath is empty then  -- if cancelledput "No selection made. Procedure cancelled." into fld "status"exit mouseUpend ifif statusColors thenshow window "amber"hide window lastColorput "amber" into lastColorend ifput empty into fld "status"put stkPath into fld "stacks" --list stackput 1 into stacksFoundif fld "stacks" is empty thenput "No applications found.  Procedure cancelled." into fld "status"if statusColors thenshow window "green"hide window lastColorput "green" into lastColorend ifexit mouseUpend ifput "Examining application.  So far, so good..." into fld "status"put the userlevel into userlevelHold  -- preserve user level for laterset the userlevel to 5set the cursor to "busy"  -- also known as the 窶彙eachball窶 cursorput line 1 of fld "stacks" into currentStackopen file currentStackif the result is empty thenread from file currentStack for 65536  -- 64K worthif the result is empty thenput it into quarantine  -- snag scriptscrutinize currentStackelseput the result into field Resultsclose file currentStackexit mouseUpend ifelseput the result into field Resultsexit mouseUpend ifclose file currentStackif statusColors and (stillinfectedStacks < 1) thenshow window "green"hide window lastColorput "green" into lastColorend iflock screenput return & return after fld "stacks"put "Examination complete." & return & return into fld "status"set the userlevel to userlevelHold  -- restore original user levelif stillinfectedStacks = 0 thenput "Whew!  What a relief." & return & ツャ"The application was not infected." after fld "stacks"play "Lore"elseput "WARNING! The above application is infected! " after fld "stacks"set the textStyle of the last line of fld "stacks" to boldset the textStyle of the last char of fld "stacks" to plainput return & "You are advised to remove this application" && ツャ"and notify the person or organization where the application" && ツャ"originated that it appears to be" & return & "infected with" && ツャ"a strain of the " after fld "stacks"if quarantine contains "pickle" thenput quote & "pickle" & quote && "virus." after fld "stacks"elseput quote & "merryxmas" & quote && "virus." after fld "stacks"end ifend ifend mouseUpon scrutinize stackNameglobal statusColors, lastColor, quarantine, infected, ツャstillinfectedStacks, stillInfectedif DNACheck(quarantine) thenadd 1 to stillinfectedStacksput return & stackName after stillinfectedplay "Klaxon"play "Klaxon"if statusColors thenshow window "red"hide window lastColorput "red" into lastColorend ifend ifend scrutinize</script>
  167.     </part>
  168.     <content>
  169.         <layer>background</layer>
  170.         <id>2</id>
  171.         <text>Folder</text>
  172.     </content>
  173.     <name></name>
  174.     <script>on openStackglobal statusColors,lastColor, currentStack, quarantine, ツャsweepMode, okToCompact, disinfectedStacks, stillinfectedStacksput "false" into statusColorsif there is a window "scroll" then hide window "scroll"if word 1 of monitorConfig("CardWindow","noDialog") = "You" ツャor last item of line 1 of monitorConfig("CardWindow","noDialog") ツャ= 342 then  -- If Mac Plus or 9" monitorset loc  of cd window to 0,20  -- position for 9" monitorsset rect of cd window to 0,20,512,340  -- make full screenend ifif the version of HyperCard < 2.1 thenbeepanswer "This stack requires HyperCard 2.1 or later." with "OK"put "This stack requires HyperCard 2.1 or later." into fld "status"end ifif "color" is in monitorConfig("CardWindow","noDialog") ツャor "RGB"   is in monitorConfig("CardWindow","noDialog") thenput "true" into statusColorslock screenpicture "green",resource,rect,falseif the result is empty thenset the rect of window "green" to the rect of cd fld 1end ifpicture "amber",resource,rect,falseif the result is empty thenset the rect of window "amber" to the rect of cd fld 1end ifpicture "red",resource,rect,falseif the result is empty thenset the rect of window "red" to the rect of cd fld 1end ifput "green" into lastColorpicture "Bill",resource,dialog,falseif the result is empty thenset the rect of window "Bill" to 206,110,306,210set the dithering of window "bill" to trueend ifif there is not a window "green" ツャor there is not a window "amber" ツャor there is not a window "red" thenlowMemput "false" into statusColorsend ifunlock screenend ifinitializehide btn "Print Report"hide btn "Save as text窶ヲ"put empty into fld "stacks"put "Performing self check..." into fld "status"put the long name of this stack into currentStackput the length of currentStack into itput char 8 to (it - 1) of currentStack into currentStackput script of stack currentStack into quarantineput "search & destroy" into sweepMode  -- active vs. passive flagput true into okToCompactif statusColors thenshow window "amber"hide window lastColorput "amber" into lastColorend ifscrutinize currentStackif disinfectedStacks + stillinfectedStacks > 0 thenput "The self check procedure detected an infection in this stack," ツャ& return & "but it was immediately eliminated." & return ツャ& return & "There is no guarantee that this stack will not become" ツャ& return & "infected again, but for now you may continue using this stack" ツャ& return & "with confidence that it will not spread viruses 窶”" ツャ& return & "only eliminate them." into fld "Stacks"end ifif statusColors and (stillinfectedStacks < 1) thenshow window "green"hide window lastColorput "green" into lastColorend ifend openStackon suspendStackglobal statusColors,lastColorif statusColors thenif there is a window "green" thenif visible of window "green" is true thenhide window "green"put "green" into lastColorend ifend ifif there is a window "amber" thenif visible of window "amber" is true thenhide window "amber"put "amber" into lastColorend ifend ifif there is a window "red" thenif visible of window "red" is true thenhide window "red"put "red" into lastColorend ifend ifend ifend suspendStackon resumeStackglobal statusColors,lastColorif statusColors and lastColor is not empty thenif there is a window lastcolor then show window lastColorend ifend resumeStackon closeStackglobal stillinfectedput empty into stillinfected-- clear out potentially big list of path namesgo cd 1hide btn "Print Report"hide btn "Save as text窶ヲ"put empty into fld "stacks"put empty into fld "status"set style of fld "stacks"  to transparentset the rect of btn "Bar" to -1,-2,-4,-3put "Patience grasshopper..." into fld "status"if there is a window "green" then close window "green"if there is a window "amber" then close window "amber"if there is a window "red"   then close window "red"if there is a window "Bill"  then close window "Bill"end closeStackon initializeglobal statusColors, lastColor, DNA, disinfectedStacks, stillinfectedStacksif statusColors and lastColor is not empty thenif there is a window "green" thenshow window "green"put "green" into lastColorend ifend ifput "Ready" into fld "status"set style of fld "stacks"  to transparentset the rect of btn "Bar" to -1,-2,-4,-3put zero  into disinfectedStacks  -- counts stacks disinfectedput zero  into stillinfectedStacks  -- counts stacks still infectedend initializeon lowMemplay "boing"if "color" is in monitorConfig("CardWindow","noDialog") ツャor "RGB"   is in monitorConfig("CardWindow","noDialog") thenput "The color image that normally displays now can not be shown." ツャ&&  "Try allocating more memory to HyperCard." into itelseput "A color monitor is required for this feature." into itend ifanswer it with "Rats"end lowMemon scrutinize stackNameglobal statusColors, lastColor, sweepMode, quarantine, guillotined, ツャokToCompact, lineNo, infected, bytesCompacted, disinfectedStacks, ツャstillinfectedStacks, stillInfectedput IsFinderLocked(stackName) into itWasLocked  -- preserve status-- see if IsFinderLocked failed (which it sometimes does)if (itWasLocked is not "true") and (ItWasLocked is not "false") thenput "true" into ItWasLocked  -- assume it was lockedend ifif (sweepMode is not "scan only") and (DNACheck(quarantine) ツャor (okToCompact and (the freeSize of stack stackName > 0))) thenif itWasLocked then  -- if locked, pick the lockdo "SetFinderLock" & quote & stackName & quote & ",false"end ifend ifif DNACheck(quarantine) thenif sweepMode is "search & destroy" thenset the cursor to "busy"put the cantModify of stack stackName ツャinto cantModifyHold  -- preserve modify setting for restorationset the cantModify of stack stackName to falseput lostInSpaces1(quarantine) into quarantineput lostInSpaces2(quarantine) into quarantineset script of stack stackName to quarantine-- put the script back sans the lines where the virus wasif the result is empty thenif disinfectedStacks > 0 then put return after infectedadd 1 to disinfectedStacksput stackName after infectedelseif stillinfectedStacks > 0 then put return after stillinfectedadd 1 to stillinfectedStacksput stackName after stillinfectedend ifrepeat with r = 1 to the number of lines of quarantineif the first char of line r of quarantine = "ツ " ツャand the last char of line r of quarantine = "ツ "then put empty into line r of quarantine-- remove the option-spaces used to clean up the data fork-- for the benefit of commercial virus utilitiesend repeatset script of stack stackName to quarantineset the cantModify of stack stackName to cantModifyHoldset the textStyle of line lineNo of fld "stacks" to underlineelseadd 1 to stillinfectedStacksput return & stackName after stillinfectedend ifif disinfectedStacks + stillinfectedStacks = 1 thenplay "Klaxon"play "Klaxon"if statusColors thenshow window "red"hide window lastColorput "red" into lastColorend ifput "1 infection detected.  Continuing..." into fld "status"elseput disinfectedStacks + stillinfectedStacks && ツャ"infections detected.  Continuing..." into fld "status"end ifelseset the textStyle of line lineNo of fld "stacks" to plainend ifif okToCompact and (the freeSize of stack stackName > 0) thenadd the freeSize of stack stackName to bytesCompactedput the long name of this stack into thisStaklock messageslock screengo to stack stackNameif (stackName is not in the stacksInUse) ツャand (itWasLocked is not "true") ツャand (the cantModify of stack stackName is false) thendoMenu "Compact stack"end ifgo to thisStakunlock messagesunlock screensubtract the freeSize of stack stackName from bytesCompactedend ifif itWasLocked thendo "SetFinderLock" & quote & stackName & quote & ",true"end ifend scrutinizeon depickle  -- nuke the pickled partsglobal currentStackKillRes "XFCN","3000",currentStackKillRes "XFCN","4000",currentStackKillRes "TEXT","6000",currentStackKillRes "XCMD","7000",currentStackKillRes "XFCN","8000",currentStackKillRes "XCMD","8500",currentStackKillRes "XCMD","9500",currentStackend depickle</script>
  175. </background>
  176.